#pragma once
#include "OperationNode.hpp"
namespace Level4
{
	class ExpressionNode;
	class UnaryOperationNode :
		public OperationNode
	{
	protected:
		ExpressionNode* expression{ nullptr };
	public:
		inline UnaryOperationNode(ExpressionNode* const expr) :
			expression(expr)
		{
		}
		UnaryOperationNode() = default;
		UnaryOperationNode(const UnaryOperationNode&) = delete;
		virtual ~UnaryOperationNode() = 0;
		UnaryOperationNode& operator=(const UnaryOperationNode&) = delete;
	};
}